<?php
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/


	$targetFolder = 'inc/images/products';
	
	$tempFile = $_FILES['Filedata']['tmp_name'];	
	$nameFile = $_FILES['Filedata']['name'];
	$targetPath = $_SERVER['DOCUMENT_ROOT'].'/'.$targetFolder;
	$targetFile = rtrim( $targetPath , '/' ).'/'.$nameFile;
	
	
	
	
	$sizes = array( 'b', 'c', 'd', 'f', 'k' );
	foreach( $sizes as $size )
	{
		if( preg_match('#^(.*/|)(([^/]{1,3})|([^/]{2})([^/])([^/])([^/]*))\.([\w]{2,4})$#', $nameFile, $res ) )
		{
			$path_cache_pic =  $res[1].'_'.$res[3].$res[4].'_'.$size.strlen($res[2]).$size.'_'.$res[7].$res[6].$res[5].'.'.$res[8];
			@unlink( HOME_PATH.'/inc/thumbs/products/'.$path_cache_pic );	
		}
	}
	
	move_uploaded_file( $tempFile, $targetFile );
	
	
	
/* 
	$size1 = 95;
	$size2 = 220;
		
	if (!empty($_FILES)) {
		$tempFile = $_FILES['Filedata']['tmp_name'];
		$nameFile = $_FILES['Filedata']['name'];
		$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/' . $targetFolder;
		$targetFile = rtrim( $targetPath , '/' ) . '/' . $nameFile;

		// Валидация расширения файла
		$fileTypes = array('jpg','jpeg','gif','png','JPG','JPEG','GIF','PNG'); // Расширения файла
		$fileParts = pathinfo( $nameFile );
		
		if ( in_array( $fileParts['extension'] , $fileTypes ) )
		{
			//move_uploaded_file( $tempFile , $targetFile );
			start_resize( $tempFile , $fileParts , $targetFolder , $size1 , $size2 );
			echo '1';
		}
		else
		{
			echo $fileName.' - неправильное расширение картинки. Пожалуйста, загругрузите в формате jpg, или измените расширение этой картинки на jpg';
		}
	}

	function start_resize( $tempFile , $fileParts , $targetFolder , $size1 , $size2 )
	{
		$infoFile = getimagesize( $tempFile );
		$maxSizeSide1 = ( $infoFile[0] > $infoFile[1] ) ? $infoFile[0] : $infoFile[1];
		$resize1 = ( $size1 > $maxSizeSide1 ) ? $maxSizeSide1 : $size1;
		$smallFileImage = $targetFolder.'/'.$fileParts['filename'].'_thm.jpg';
		
		$pathForDelFile = dirname( $_SERVER['SCRIPT_FILENAME'] ) . '/' . $smallFileImage ;
		unlink( $pathForDelFile );  // Избавляемся от времнных файлов	

		resize( $tempFile , $smallFileImage , $resize1 , $resize1 );  // Маленькая картинка
		
		$maxSizeSide2 = ( $infoFile[0] > $infoFile[1] ) ? $infoFile[0] : $infoFile[1];
		$resize2 = ( $size2 > $maxSizeSide2 ) ? $maxSizeSide2 : $size2;
		$averageFileImage = $targetFolder.'/'.$fileParts['filename'].'.jpg';
		
		$pathForDelFile = dirname( $_SERVER['SCRIPT_FILENAME'] ) . '/' . $averageFileImage ;
		unlink( $pathForDelFile );  // Избавляемся от времнных файлов	
		
		resize( $tempFile , $averageFileImage , $resize2 , $resize2 );  // Средняя картинка
		
		$bigFileImage = $targetFolder.'/'.$fileParts['filename'].'_enl.jpg';
		
		$pathForDelFile = dirname( $_SERVER['SCRIPT_FILENAME'] ) . '/' . $bigFileImage ;
		unlink( $pathForDelFile );  // Избавляемся от времнных файлов			
		
		resize( $tempFile , $bigFileImage , $infoFile[0] , $infoFile[1] );  // Большая картинка
	}


		// Меняем размер картинки
	function resize( $sourceName , $newName , $w , $h, $wodaName = false , $returnimg = false )
	{
		$fmt=false;
		$type=array('JPG' =>'jpeg','jpg' =>'jpeg','jpeg' =>'jpeg','gif'=>'gif','png'=>'png');
		
		if( file_exists( $sourceName ) )//Проверка существования исходного файла
		{
			//Определяю тип файла
			$info=getimagesize($sourceName);
			if(!$info) die('Не поддерживаемый формат файла '.$sourceName);
			preg_match('#/(\w+)$#',$info['mime'],$res);
			if($res)$fmt=$res[1];
			else die('Не поддерживаемый формат файла '.$sourceName);
			
			// Создаю изображение... 
			$image = imagecreatetruecolor( $w , $h ) 
			or die('Не возможно создать изображение');     // ...или прерываю работу скрипта в случае ошибки 
			
			// Заливаю фон белым
			imagefill($image, 10, 10, 0xFFFFFF);
			
			//Взависимости от типа выбираю функцию
			$func='imagecreatefrom'.$type[$fmt];
			//Создаю изображение-донор
			$source = $func($sourceName)
			or die('Неправильный формат');

			//Выбираю масштаб изображения
			$procW=$info[0] / $w;
			$procH=$info[1] / $h;
			$procent=($procW > $procH)? $procW : $procH;
			
			//Массштабирую размеры 
			$massW=floor($info[0] / $procent);
			$massH=floor($info[1] / $procent);
			
			//Определяю координаты с учетом центрирования
			$x=floor(($w - $massW)/2);
			$y=floor(($h - $massH)/2);	
			
		//	echo"$procW, $w - $massW ,$x";
			
			// Копирую существующее изображение в новое с изменением размера:
			imagecopyresampled(
			$image,  // Идентификатор нового изображения
			$source,  // Идентификатор исходного изображения
			$x,$y,      // Координаты (x,y) верхнего левого угла в новом изображении
			0,0,      // Координаты (x,y) верхнего левого угла копируемого блока существующего изображения
			$massW,     // Новая ширина копируемого блока
			$massH,     // Новая высота копируемого блока
			$info[0], // Ширина исходного копируемого блока
			$info[1]  // Высота исходного копируемого блока
			);
			if($wodaName)//Если нужно наложить водяной значек
			{
				if(file_exists($wodaName))
				{
					//Определяю тип файла
					$info=getimagesize($wodaName);
					if(!$info) die('Не поддерживаемый формат файла');
					preg_match('#/(\w+)$#',$info['mime'],$res);
					if($res)$fmt=$res[1];
					else die('Не поддерживаемый формат файла');
					
					//Взависимости от типа выбираю функцию
					$func='imagecreatefrom'.$type[$fmt];
					//Создаю изображение водяного знака
					$woda = $func($wodaName)
					or die('Неправильный формат');

					if($w < $info[0] && $h < $info[1])
					{
						//Выбираю масштаб изображения
						$procW=$info[0] / $w;
						$procH=$info[1] / $h;
						$procent=($procW > $procH)? $procW : $procH;
						
						//Массштабирую размеры 
						$massW=floor($info[0] / $procent);
						$massH=floor($info[1] / $procent);
					}
					else
					{
						$massW=$info[0];
						$massH=$info[1];
					}
					//Определяю координаты с учетом центрирования
					$x=floor(($w - $massW)/2);
					$y=floor(($h - $massH)/2);	
					
					
					// Копирую существующее изображение в новое с изменением размера:
					imagecopyresampled(
					$image,  // Идентификатор нового изображения
					$woda,  // Идентификатор исходного изображения
					$x,$y,      // Координаты (x,y) верхнего левого угла в новом изображении
					0,0,      // Координаты (x,y) верхнего левого угла копируемого блока существующего изображения
					$massW,     // Новая ширина копируемого блока
					$massH,     // Новая высота копируемого блока
					$info[0], // Ширина исходного копируемого блока
					$info[1]  // Высота исходного копируемого блока
					);
					imagedestroy($woda);
				}
				else
				die('Файл водяного знака отсутствует');
			}
			
			//Взависимости от типа выбираем функцию
			//Сохраняю картинку
			preg_match('#\.(\w+)$#',$newName,$res);
			if($res)$fmt=$res[1];
			$func='image'.$type[$fmt];
			
			if($returnimg)//Если выдавать картинку 
			{
				//Обозначаю тип в хедере
				header('Content-type: image/' . $type[$fmt]);
				$func($image);
			}
			else
			{
				if($type[$fmt]=='jpeg')//Если сжатая картинка то качество 
					$func($image, $newName, 100);
				else
					$func($image, $newName);			
			}
			
			
			// Удаляю временные файлы
			imagedestroy($image);		
			imagedestroy($source);
		}
		else die('Отсутствует исходный файл');
		return true;
	} */
?>